There are an increasing plethora of IP based devices that transmit IP based packets over both wired and wireless medium. Many of these devices are designed for applications where the end destination of the transmission from the device is remote and the packets are being routed/relayed from network node to network node over multiple hops before arriving at their destination. Chances of an error in transmission increases with increased number of relays (hops). Since according to standard protocols, the entire packet needs to be re-transmitted, this affects the overall throughput of the entire relay network. Further, in some cases, re-transmission is not an option, as in real time video streams. In that case, a glitch appears on the user screen, adversely affecting the overall user experience. While annoying, glitches may be tolerable, but a significant delay of a real-time video packet may not. Also, methods are known such as drop-out compensators that repair video glitches before display.
Fragmentation of data packets—that is, sending multiple smaller packets as opposed to a single large sized packet—is one technique to reducing retransmission costs. Reducing the size of the packet limits re-transmission to a small packet with a checksum error. If noise effects causing re-transmissions are independent of packet size, then reducing packet size should proportionally reduce the number of re-transmissions. Thus, if a particular transmission relay chain has an error in transmission of one byte in every 100 bytes transmitted, and if all transmissions were one byte in size then the overall efficiency of transmission would be around 100/101 (including one retransmission). Conversely, if the packet size was 100 bytes then in theory each packet sent would have around one byte in error, causing the entire 100 byte packet to be resent. Recall that the checksum applies to the entire packet contents and the checksum error cannot tell you exactly which bytes in the packet were incorrectly received.
Fragmentation of large packets is used for latency insensitive transmissions (e.g. file transfers). Unfortunately it does not apply to time sensitive transmissions like real time video feeds because of the effects of protocols such as CSMA and the associated back off delays. CSMA based algorithms have increasingly large back offs for small packet sizes. This results in increased transmission latencies/delays. As a result, real time feeds (such as video feed frames with typically around 1300 bytes) are not fragmented since it would be inefficient in terms of both throughput and latency to send small packets using CSMA based networks.
For real time feeds where retransmission is not a viable option, there exists a need for an alternative approach, one that involves fixing corrupted packets at each relay station so that re-transmission requests are not required.